<script type="text/javascript">
var effectId;
$(function() {
	var row = $('#admin_menu_treegrid').treegrid('getSelected');
	effectId = row.effect.eid;
	$.ajax({
		url : 'menuController/getList.do',
		data : {parMenuId : row.id},
		dataType : 'JSON',
		success : function(r) {
				previewSubmenu_initIcon(r);
		}
	});
	
	if(moduls_fun_menuPorperty_parentBackgroundImg) {
		$("img[id='hotPoint_BackgroundImg']").attr('src'
				,'resources/userFiles/'
				+ north_crrUser.userId
				+ '/menuFiles/'
				+moduls_fun_menuPorperty_parentBackgroundImg);
	}
});

function previewSubmenu_initIcon(data) {
	$(data).each(function(i,value) {
		var map = new Map();
		$(value.menuPorperty).each(function(i,value) {
			map.put(value.proKey, value.proValue);
		});
		
		if(effectId == 6) {
			var menuPlace = map.get('menuPlace').replace(/{/g, '').replace(/}/g, '');
			var previewPlace = map.get('previewPlace').replace(/{/g, '').replace(/}/g, '');
			previewSubmenu_initIcon_putIcon(menuPlace, map.get('nodeMenuPicture'), value.text);
			previewSubmenu_initIcon_putIcon(previewPlace, map.get('previewMenuPicture'), value.text+'--预览菜单');
		} else {
			var hotpointPlace = map.get('hotpointPlace').replace(/{/g, '').replace(/}/g, '');
			previewSubmenu_initIcon_putIcon(hotpointPlace, map.get('nodeMenuPicture'), value.text);
		}
		
	});
}

function previewSubmenu_initIcon_putIcon(place, iconImgName, text) {
	if(place && iconImgName) {
		var srcStr = '';
		var styleStr = '';
		if(iconImgName.indexOf('systemIconHotPoint') != -1) {
			srcStr = 'resources/img/' + iconImgName;
		} else if(iconImgName.indexOf('-hotIcon') != -1) {
			srcStr = 'resources/userFiles/' + north_crrUser.userId + '/hotIcon/' + iconImgName;
		} else {
			srcStr = 'resources/userFiles/' + north_crrUser.userId + '/menuFiles/' + iconImgName;
		}
		
		place = place.split(',');
		styleStr = "position: absolute;left:"+place[0]+"px;top:"+place[1]+"px;";
		
		var icon = '<div class="iconCss" style="'+ styleStr +'"><img title="'+text+'" height="50" src="'+ srcStr +'" width="50" /></div>';
		$('#hotPoint_target').append(icon); 
	}
}
</script>
<style type="text/css">
.iconCss{
	z-index: 800;
	width: 50px;
	height: 50px;
}
</style>
<div>
	<div style="position: absolute; width: 636px; height: 390px;">
		<img id="hotPoint_BackgroundImg" height="100%" width="100%" />
	</div>
	<div id="hotPoint_target" style="position: absolute; width: 636px; height: 390px;"></div>
</div>

<script>
/*
 * MAP对象，实现MAP功能
 *
 * 接口：
 * size()     获取MAP元素个数
 * isEmpty()    判断MAP是否为空
 * clear()     删除MAP所有元素
 * put(key, value)   向MAP中增加元素（key, value) 
 * remove(key)    删除指定KEY的元素，成功返回True，失败返回False
 * get(key)    获取指定KEY的元素值VALUE，失败返回NULL
 * element(index)   获取指定索引的元素（使用element.key，element.value获取KEY和VALUE），失败返回NULL
 * containsKey(key)  判断MAP中是否含有指定KEY的元素
 * containsValue(value) 判断MAP中是否含有指定VALUE的元素
 * values()    获取MAP中所有VALUE的数组（ARRAY）
 * keys()     获取MAP中所有KEY的数组（ARRAY）
 *
 * 例子：
 * var map = new Map();
 *
 * map.put("key", "value");
 * var val = map.get("key")
 * ……
 *
 */
function Map() {
	this.elements = new Array();

	//获取MAP元素个数
	this.size = function() {
		return this.elements.length;
	};

	//判断MAP是否为空
	this.isEmpty = function() {
		return (this.elements.length < 1);
	};

	//删除MAP所有元素
	this.clear = function() {
		this.elements = new Array();
	};

	//向MAP中增加元素（key, value) 
	this.put = function(_key, _value) {
		this.elements.push( {
			key : _key,
			value : _value
		});
	};

	//删除指定KEY的元素，成功返回True，失败返回False
	this.remove = function(_key) {
		var bln = false;
		try {
			for (i = 0; i < this.elements.length; i++) {
				if (this.elements[i].key == _key) {
					this.elements.splice(i, 1);
					return true;
				}
			}
		} catch (e) {
			bln = false;
		}
		return bln;
	};

	//获取指定KEY的元素值VALUE，失败返回NULL
	this.get = function(_key) {
		try {
			for (i = 0; i < this.elements.length; i++) {
				if (this.elements[i].key == _key) {
					return this.elements[i].value;
				}
			}
		} catch (e) {
			return null;
		}
	};

	//获取指定索引的元素（使用element.key，element.value获取KEY和VALUE），失败返回NULL
	this.element = function(_index) {
		if (_index < 0 || _index >= this.elements.length) {
			return null;
		}
		return this.elements[_index];
	}

	//判断MAP中是否含有指定KEY的元素
	this.containsKey = function(_key) {
		var bln = false;
		try {
			for (i = 0; i < this.elements.length; i++) {
				if (this.elements[i].key == _key) {
					bln = true;
				};
			};
		} catch (e) {
			bln = false;
		}
		return bln;
	}

	//判断MAP中是否含有指定VALUE的元素
	this.containsValue = function(_value) {
		var bln = false;
		try {
			for (i = 0; i < this.elements.length; i++) {
				if (this.elements[i].value == _value) {
					bln = true;
				};
			};
		} catch (e) {
			bln = false;
		}
		return bln;
	}

	//获取MAP中所有VALUE的数组（ARRAY）
	this.values = function() {
		var arr = new Array();
		for (i = 0; i < this.elements.length; i++) {
			arr.push(this.elements[i].value);
		}
		return arr;
	};

	//获取MAP中所有KEY的数组（ARRAY）
	this.keys = function() {
		var arr = new Array();
		for (i = 0; i < this.elements.length; i++) {
			arr.push(this.elements[i].key);
		}
		return arr;
	};
};
</script>